package com.easy.module.system.vo;


import com.easy.framework.common.utils.ConvertUtil;
import com.easy.framework.common.utils.Func;
import com.easy.framework.common.utils.StringUtil;
import com.easy.module.system.entity.SysMenu;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.HashMap;

/**
 * 路由显示信息
 *
 * @author Easy
 */
@Setter
@Getter
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public class MetaVO implements Serializable {

    private static final long serialVersionUID = 1L;
    /**
     * 设置该路由在侧边栏和面包屑中展示的名字
     */
    private String title;

    /**
     * 设置该路由的图标，对应路径src/assets/icons/svg
     */
    private String icon;

    /**
     * 权限
     */
    private String auth;

    /**
     * 内链地址（http(s)://开头）
     */
    private String link;

    /**
     * 设置为false，则不会显示菜单
     */
    private Boolean menu;

    /**
     * 激活菜单
     */
    private String activeMenu;

    public MetaVO(){

    }

    public MetaVO(SysMenu menu) {
        this.title = menu.getName();
        this.icon = menu.getIcon();
        this.menu = menu.getVisible();
        this.auth = menu.getSign();
        this.activeMenu = menu.getActivePath();
        if (StringUtil.ishttp(menu.getPath())) {
            this.link = menu.getPath();
        }
    }

}
